package com.by.gatewayhelper.token;

import com.alibaba.fastjson2.JSONObject;

import java.util.Map;

public interface TokenHelper {

    String createToken(Map<String, String> tokenInfo);

    boolean verifyToken(String token);

    JSONObject analyzeToken(String token);

    String XOR_TABLE = "YJUC*8L*6ega8RqxQ73W!C&GCyZhiwhz"; // 32位随机字符串用于异或

    default String xor(String encryptContent) {
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < encryptContent.length(); i++) {
            stringBuilder.append((char) (encryptContent.charAt(i) ^ XOR_TABLE.charAt(i % XOR_TABLE.length())));
        }
        return stringBuilder.toString();
    }

}
